package com.ruoyi.youtobe.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.youtobe.domain.VideoInfoIO;
import com.ruoyi.youtobe.domain.VideoInfoVO;
import com.ruoyi.youtobe.domain.YoutobeChannelVideo;
import com.ruoyi.youtobe.domain.YoutobeChannelVideoVO;

import java.util.List;

/**
 * @Title:
 * @author: WYJ
 * @date: 2025/11/5
 */
public interface YoutubeVideoService {
    /**
     * @description: 获取个人主页下视频封面、标题等信息
     * @author: WYJ
     * @date: 2025/11/5
     * @param:
     */
    List<VideoInfoVO> getVideoInfoList(VideoInfoIO params);

    /**
     * @description: 入库-获取个人主页下视频封面、标题等信息
     * @author: WYJ
     * @date: 2025/11/5
     * @param:
     */
    AjaxResult getVideoByChannel(VideoInfoIO params);

    /**
     * @description: 频道信息更新
     * @author: WYJ
     * @date: 2025/11/12
     * @param:
     */
    AjaxResult updateChannel();

    /**
     * @description: 近50条数据更新
     * @author: WYJ
     * @date: 2025/11/12
     * @param:
     */
    AjaxResult updateViewCount();

    //获取视频列表
    List<YoutobeChannelVideoVO> getVideoList(YoutobeChannelVideo params);

    /**
     * @description:
     * @author: WYJ
     * @date: 2025/11/19
     * @param:
     */
    AjaxResult downloadPicByUrl(Integer  num);

    /**
     * @description: 我频道小的视频更新
     * @author: WYJ
     * @date: 2025/11/25
     * @param:
     */
    AjaxResult updateMyChannelVideo();
}
